Content address memory (CAM) is a useful device for executing table lookup operations. Particularly, because of the parallel lookup capability, a user can execute thousands or even millions of comparisons with one lookup operation.
For computer systems, CAM is widely used as the address lookup table (called cache TAG) for cache memory, or as the paging translation look-aside table (TLB). For communication applications, CAM is widely used to support address lookup operations for routers. Recently, the rapid growth of networking systems triggered strong demands for high density and high speed CAM devices. For networking applications ternary content addressable memory (TCAM) is used to store various items such as quality of service (QoS) information, filter information, access control lists (ACL), etc. A current TCAM for networking application has 256K of 72 bit entries supporting 125 million lookups per second (LPS). However, due to the parallel lookup operation of CAM devices, the power consumption of a CAM device increases linearly with its density and lookup rate. Compared to most other integrated devices the power density is of CAM device is much higher.
In the mean time, the cost of each CAM device increases exponentially with its area. The power consumption and costs of CAM devices are becoming the limiting factors for current router systems. It is simply too expensive and requires too much power to put enough CAM devices on router systems to support desired performances.